home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 2: CDPD 1 / Almathera Ten on Ten - Disc 2: CDPD 1.iso / pd / 376-400 / 388 / dclock / dclockaux.asm < prev    next >
Assembly Source File  |  1995-03-14  |  2KB  |  86 lines

  1. * DClockAux.asm ************************************************************
  2. *
  3. *    DClockAux.asm ---------    Assembly language sub-routines for
  4. *                DClock-Handler.
  5. *
  6. *    Author ----------------    Olaf 'Olsen' Barthel, MXM
  7. *                Brabeckstrasse 35
  8. *                D-3000 Hannover 71
  9. *
  10. *                Federal Republic of Germany
  11. *
  12. *    This program truly is in the PUBLIC DOMAIN. Written on a cold
  13. *    and damp September evening, hoping the next morning would  be
  14. *    better.
  15. *
  16. *    Compiled using Aztec C 5.0a, CygnusEd Professional 2 & ARexx.
  17. *
  18. ****************************************************************************
  19.  
  20.         SECTION    DClockAux,CODE
  21.  
  22.         ; Imported symbols
  23.  
  24.         XREF    _ModifiedDisplayBeep
  25.         XREF    _ModifiedCloseWBench
  26.         XREF    _OldCloseWBench
  27.         XREF    _OldDisplayBeep
  28.  
  29.         ; Library reference
  30.  
  31.         XREF    _LVORawDoFmt
  32.  
  33.         ; Exported symbols
  34.  
  35.         XDEF    _NewDisplayBeep
  36.         XDEF    _NewCloseWBench
  37.         XDEF    _Format
  38.  
  39. *------------------------------------------------------------------------------
  40.  
  41.         DS.L    0
  42.  
  43. _NewDisplayBeep:MOVEM.L    D2-D7/A0-A6,-(SP)    ; Save most registers
  44.  
  45.         JSR    _geta4#            ; Tickle the base register
  46.         JSR    _ModifiedDisplayBeep    ; Call our magic creation
  47.  
  48.         MOVEM.L    (SP)+,D2-D7/A0-A6    ; Restore registers
  49.         RTS
  50.  
  51. *------------------------------------------------------------------------------
  52.  
  53. _NewCloseWBench:MOVEM.L    D2-D7/A2-A6,-(SP)    ; Save most registers
  54.  
  55.         JSR    _geta4#            ; Tickle the base register
  56.         JSR    _ModifiedCloseWBench    ; Call our magic creation
  57.  
  58.         MOVE.L  _OldCloseWBench,A1    ; Remember old routine
  59.  
  60.         MOVEM.L    (SP)+,D2-D7/A2-A6    ; Restore registers
  61.  
  62.         JMP    (A1)            ; Jump to old routine...
  63.  
  64. *------------------------------------------------------------------------------
  65.  
  66. _Format:    MOVEM.L    A2/A3/A6,-(SP)
  67.  
  68.         MOVE.L     4+12(SP),A3        ; Destination string
  69.         MOVE.L     8+12(SP),A0        ; Format string
  70.         LEA    12+12(SP),A1        ; Arguments (stack)
  71.         LEA    stuffchar(PC),A2    ; Formatting routine
  72.  
  73.         MOVEA.L    4,A6            ; ExecBase
  74.         JSR    _LVORawDoFmt(A6)    ; Format it
  75.  
  76.         MOVEM.L    (SP)+,A2/A3/A6        ; Restore registers
  77.  
  78.         RTS
  79.  
  80. stuffchar:    MOVE.B    D0,(A3)+        ; Puts a character into the
  81.         RTS                ; char buffer.
  82.  
  83. *------------------------------------------------------------------------------
  84.  
  85.         END
  86.